//
//  HMCoreDataManager.h
//  02-手动搭建CoreDataStack
//
//  Created by Shenzhen_iOS_07 on 17/1/7.
//  Copyright © 2017年 Shenzhen_iOS_07. All rights reserved.
//

#import <Foundation/Foundation.h>

#import <UIKit/UIKit.h>
#import <CoreData/CoreData.h>

#define kHMCoreDataManager [HMCoreDataManager shareInstance]

#define kFileName @"sqlite"

@interface HMCoreDataManager : NSObject

+ (HMCoreDataManager*)shareInstance;


/**
 CoreData Stack容器(只支持iOS10)
 内部包含CoreData Stack的三大核心类
 * 管理对象上下文:NSManagedObjectContext *viewContext(基于主线程)
 * 存储调度器:NSPersistentStoreCoordinator *persistentStoreCoordinator
 * 管理对象模型:NSManagedObjectModel *managedObjectModel
 */
@property(nonatomic,strong)NSPersistentContainer *persistentContainer;



/**
 返回管理对象上下文
 * 如果是iOS9的系统,则返回iOS9中的管理对象的上下文
 * 如果是iOS10的系统,则返回NSPersistentContainer.viewContext
 */
@property(nonatomic,strong,readonly)NSManagedObjectContext *managedObjectContext;

//保存到数据库
- (void)save;

//清除数据库
- (void)deleteAllEntities;

@end
